Skip to main content

Vecto Python SDK Documentation

Here is the documentation for our Python SDK.

Installation

To install the Python SDK, simply run

pip install vecto-sdk

For the token, sign up for your access here.

Quickstart

For first time users, we recommend using our VectorSpace interface.

Find Nearest Neighbors

import vecto
vecto.api_key = os.getenv("VECTO_API_KEY", "")
vector_space = vecto.VectorSpace("my-cool-ai")

for animal in ["lion", "wolf", "cheetah", "giraffe", "elephant", "rhinoceros", "hyena", "zebrah"]:
vector_space.ingest_text(animal, { 'text': animal, 'region': 'Africa' })

similar_animals = vector_space.lookup_text("cat", top_k=3)

for animal in similar_animals:
print(f"{animal.attributes['text']} similarity: {animal.similarity:.2%}")

# Prints: "lion similarity: 84.91%"

Ingest Text or Images

import vecto
from pathlib import Path
vecto.api_key = os.getenv("VECTO_API_KEY", "")
vector_space = vecto.VectorSpace("my-cool-image-ai")

if not vector_space.exists():
vector_space.create(model='CLIP', modality='IMAGE')

for animal in ["lion.png", "wolf.png", "cheetah.png", "giraffe.png", "elephant.png", "rhinoceros.png", "hyena.png", "zebra.png"]:
vector_space.ingest_image(Path(animal), { 'text': animal.replace('.png', ''), 'region': 'Africa' })

similar_animals = vector_space.lookup_image(Path("cat.png"), top_k=1)

for animal in similar_animals:
print(f"{animal.attributes['text']}")

# Prints: lion

Looking up by Analogy

import vecto
vecto.api_key = os.getenv("VECTO_API_KEY", "")
vector_space = vecto.VectorSpace("word_space")

if not vector_space.exists():
vector_space.create(model='SBERT', modality='TEXT')

for word in ["man", "woman", "child", "mother", "father", "boy", "girl", "king", "queen"]:
vector_space.ingest_text(word, { 'text': word })

analogy = vector_space.compute_text_analogy("king", { 'start': 'man', 'end': 'woman' }, top_k=3)

for word in analogy:
print(f"{word.attributes['text']} similarity: {word.similarity:.2%}")

# Prints: "queen similarity: 93.41%"

For more advanced capabilities including management access, we recommend using the core Vecto class.